package com.sg.dto.base.app.req;

import com.sg.common.dto.BaseDto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;

/**
 * @desc BatchQueryTimerTaskPlanListByIdsReq
 * @使用场景
 */
@Data
public class BatchQueryTimerTaskPlanListByIdsReq
        extends BaseDto
        implements Serializable {

    @ApiModelProperty("定时任务调度列表 ")
    List<String> timerTaskPlanList = new ArrayList<>();

    /**
     * 任务调度的行为类型编码 DISPATCH_ADD_REPORT_TASK:调度生成汇报任务（选用） CYCLE_PLAN_PLT_REPORT_DATA:平台调度生成所有汇报任务（选用） DISPATCH_ADD_TEMP_TASK:调度生成模板任务（选用） FOUR_TREE_DEVIATION_DAYS_ETC:调度更新四棵树偏差天数等数据（选用） PLATFORM_FOUR_TREE_DEVIATION_DAYS_ETC:平台调度更新目标四棵树偏差天数等数据（选用） STAGE_CURRENT_CYCLE_ETC:调度更新执行周期阶段当前周期等（选用） PLATFORM_STAGE_CURRENT_CYCLE_ETC:平台调度更新执行周期阶段当前周期等（选用） TASK_OVERDUE_ETC:调度更新任务逾期等数据（选用） PLATFORM_TASK_OVERDUE_ETC:平台调度更新任务逾期等数据（选用） DISATCH_TARGET_ANCESTOR_TASK:调度生成设定祖先目标父子状态调度任务（选用） PLT_DISATCH_TARGET_ANCESTOR_TASK:平台调度补偿设定祖先目标父子状态调度任务（选用） DISPATCH_DEP_OBJ_TREE_LEAF_TASK:调度生成部门目标任务书树当前叶子任务（选用） PLT_DISPATCH_DEP_OBJ_TREE_LEAF_TASK:平台调度补偿生成部门目标任务书树当前叶子任务（选用） TIMING_TASK_OKR_TREE_DATA:调度处理OKR个人树数据（选用） PLATFORM_TIMING_OKR_TREE_DATA_TASK:平台调度补偿OKR个人树数据任务（选用） COUNT_TARGET_REPORT_DATA_TASK:调度计算目标汇报数据任务（选用） PLT_RESCUE_COUNT_TARGET_SCORE_TASK:平台调度补偿计算目标汇报数据任务（选用） DISPATCH_DELETE_TARGET_COM:调度删除指标基本信息任务（选用） DISPATCH_RESCUE_DELETE_TARGET_COM:平台调度补偿删除指标基本信息任务（选用） DISPATCH_DELETE_TARGET_CAT_COM:调度删除目标分类基本信息任务（选用） DISPATCH_RESCUE_DELETE_TARGET_CAT_COM:平台调度补偿删除目标分类基本信息任务（选用） DISATCH_DEL_TEMP_CLONE_RESULT_ETC_TASK:调度删除模板克隆答案等任务（选用） PLT_DISATCH_DEL_TEMP_CLONE_RESULT_ETC_TASK:平台调度补偿删除模板克隆答案等任务（选用） ADD_EVER_YOUNG_GUARD_MQ_DISPATCH_QUEUE_TASK:调度生成空间长生守护MQ调度队列任务 TIMING_TASK_AUTO_UPDATE_WEIGHT_SCORE:调度自动更新权重分 BUILD_THREE_TREE_CURRENT_LEAF_AND_SUPERIOR_TIMING_TASK:构建三棵树当前叶子及上级目标调度任务 DISPATCH_MANY_LOOP_UPDATE_CHECK_ITEM_NODE_STATUS:调度多循环更新检查项祖先状态 DISPATCH_ADD_REPORT_TASK_AUTO_EXEC:调度生成汇报任务自动汇报（选用） PLATFORM_DISPATCH_ADD_REPORT_TASK_AUTO_EXEC:平台调度生成汇报任务自动汇报（选用） DISPATCH_TORR_CONT_UPDATE_PARENT_STATE_PLAN:调度托底更新目标内容父子状态等 PLA_DISPATCH_TORR_CONT_UPDATE_PARENT_STATE_PLAN:平台调度托底更新目标内容父子状态等 DISPATCH_COMPENSATION_TARGET_CONT_CHECK_ITEM_ETC:调度补偿目标内容检查项等 PLA_DISPATCH_COMPENSATION_TARGET_CONT_CHECK_ETC:平台调度补偿目标内容检查项等 DISPATCH_DOWNWARD_UPDATE_TARGET_SET_CHECK_ITEM_ETC_STATE:调度向下更新目标设置检查项状态等
     */
    @ApiModelProperty("任务调度的行为类型编码")
    private String dispatchActionTypeCode;

    /**
     * 任务调度类型编码 PROJECT_CONTROLLING_TASK:总控任务 CONTENT_SUBTASK:内容子任务
     */
    @ApiModelProperty("任务调度类型编码")
    private String taskDispatchTypeCode;

    /**
     * 归属对象类型编码 OMS_EVALUATION_TEMPLATE:评价模板 OMS_EVALUATION_OBJECT_TARGET_CYCLE:被评对象目标周期 OMS_TARGET:目标表 OMS_TARGET_CATEGORY:目标分类表 OMS_TARGET_OBJECTIVE:指标表 OMS_TASK:任务表 OMS_VIRTUAL_ORG_MEMBER:虚拟组织成员表 UNION_APP:联盟应用 OMS_ORG_ORGANIZATION:组织表 OMS_CONF_SCHEME:配置方案表 OMS_FRAMEWORK_SPACE:空间表
     */
    @ApiModelProperty("归属对象类型编码")
    private String objectTypeCode;

    /**
     * 主题内容ID
     */
    @ApiModelProperty("主题内容ID")
    private String themeContentId;

    /**
     * 是否固化消息队列 TRUE:是 FALSE:否
     */
    @ApiModelProperty("是否固化消息队列")
    private String isAppointSimpleMq;

    /**
     * 是否执行完成 TRUE:是 FALSE:否
     */
    @ApiModelProperty("是否执行完成")
    private String isComplete;

    /**
     * 是否作废 TRUE:是 FALSE:否
     */
    @NotNull(message = "是否作废不能为空")
    @ApiModelProperty("是否作废")
    private String isValid;

    /**
     * 创建于空间ID
     */
    @ApiModelProperty("创建于空间ID")
    private String spaceId;

}
